#include <iostream>

using namespace std;

const int N=1e5+10;

int son[N*32][2],idx;
int a[N];
int n;



void insert(int num)
{
	int p=0;
	for(int i=30;i>=0;i--)
	{
		int t=num>>i&1;
		if(!son[p][t])
			son[p][t]=++idx;
		p=son[p][t];
	}
}
int query(int num)
{
	int p=0;
	int ret=0;
	for(int i=30;i>=0;i--)
	{
		int t=num>>i&1;
		if(son[p][!t])
		{
			p=son[p][!t];
			ret|=1<<i;
		}
		else
			p=son[p][t];
	}
	return ret;
}
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		scanf("%d",&a[i]);
		insert(a[i]);
	}
		
	int ret=0;
	for(int i=1;i<=n;i++)
	{
		ret=max(ret,query(a[i]));
		
	}
	cout<<ret<<endl;
	return 0;
}
